iT邦幫忙

2022 iThome 鐵人賽

DAY 21
0

Ngrok運行原理

其實ngrok有客戶端ngrok和服務端ngrokd,在用戶客戶端發起請求時,就是這兩個端起作用轉發請求

  1. 當服務端接收到連接,就讀取映射表,判斷接收的端口對應於哪一個客戶端,然後向客戶端評論數據。
  2. 客戶端收到數據,讀取本地映射表,判斷對應哪個內網地址,向內網地址發起連接。
  3. 客戶端和內網的服務器建立連接後,向服務端發起一個連接,作為評論通道。
  4. 服務端讀取請求數據,並通過轉發反饋到客戶端,客戶端讀取響應並通過反饋返回請求。

我們可以看到如果要轉發數據,一定要ngrok客戶端和服務端建立鏈路通道,這樣就可以將請求數據轉發到我們的內網服務器。

安裝Ngrok

LINE Bot應用程式(APP)都完備後,接下來就要讓網址能夠公開(Public)且具有HTTPS,LINE頻道(Channel)才有辦法連結。

這時候除了可以將LINE Bot應用程式(APP)部署到像Heroku雲端平台,擁有對外公開的HTTPS網址外,還可以使用一個非常強大的工具-Ngrok。

Ngrok簡單來說,就是能夠將你本機的IP埠號(http://127.0.0.1:8000),對應到一個隨機產生的HTTPS網址,並且這個HTTPS網址是對外公開的(Public)的,這時候外部使用者只要透過這個HTTPS網址,就能夠存取本機所運行的服務,是不是非常的強大阿。

首先,前往Ngrok官網,如下圖:

依據作業系統進行下載即可,而這邊要特別注意的是,在下方會有專屬於你的憑證(Token),如下圖:

接著,就可以透過Ngrok,將本機的埠號對外公開,以本文為例,Django在本機運行的埠號為8000,所以輸入以下的指令:

./ngrok http 8000


上一篇
Day20 Line Developers 設定
下一篇
Day22 程式碼與系統設定
系列文
Python之虛擬貨幣API實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言